home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 009 / basic000.unp < prev    next >
Text File  |  1987-02-22  |  2KB  |  67 lines

  1.         To unprotect COMPAQ BASICA programs.  Do the following:
  2.  
  3.         A>basic(a)
  4.         save "test",p
  5.         bsave "t1",&h400,&h200
  6.         load "test"
  7.         bsave "t2",&h400,&h200
  8.         system
  9.         
  10.         A>comp t1.bas t2.bas
  11.         Note the offset where t1=00 and t2=FE  (xxxx hex)
  12.         N (don't compare more files)
  13.  
  14.         A>basic(a)
  15.         print &h400+&hxxxx-7
  16.          yyyy
  17.         note the result yyyy
  18.         bsave "un.p",yyyy,1
  19.         load "the protected program"
  20.         bload "un.p"
  21.         ... that's it.  Your file is now unprotected and you can
  22.         list it or save it etc...
  23.  
  24.                 
  25.         Basic(a) keeps a protection marker at about offset
  26.         400 to 600 hex.  The marker is a hex FE.  When there
  27.         is no protection marker, this location will contain
  28.         hex 00.  
  29.  
  30.         For COMPAQ BASIC(A) the offset where this marker is
  31.         located are:
  32.  
  33.         Version    HEX    decimal
  34.          1.14    59A    1434
  35.          2.11    4CC    1228
  36.          3.00    595    1429
  37.          3.11    599    1433
  38.  
  39.         This is the value to use for yyyy above.
  40.  
  41.         If this script didn't work for you, then your version
  42.         of BASIC(A) is either different in it's operation or
  43.         the protection marker is outside the range of 400-600 
  44.         hex.  Try using a 400 hex region or moving the beginning 
  45.         earlier or later. For example:
  46.  
  47.         bsave "t1",&h400,&h400   (begin at 400H and 400H long)
  48.         bsave "t1",&h300,&h1000  (begin at 300H and 1000H long)
  49.  
  50.         be sure to make the other appropriateadjustments too:
  51.         print &h300+&hxxxx-7
  52.  
  53.         Don't give up, you'll find it.  Oh, by the way, if you
  54.         start earlier than 400 hex, there is a good chance you'll
  55.         pick up a lot of garbage differences earlier in the file.
  56.         Try going larger e.g. 500 hex. But, there doesn't seem
  57.         to be a pattern to the changes.
  58.  
  59.         This will also work for IBM BASIC(A), and it may work
  60.         for many others, but you will have to experiment.
  61.         If you find other values, append them to this file and
  62.         change it's name to relect that i.e.    
  63.             BASIC001.unp etc...
  64.  
  65.         Good luck.
  66.                 Sam Thomas - 1-11-1987
  67.